-
Notifications
You must be signed in to change notification settings - Fork 4.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Refactoring store liveness update #80539
Refactoring store liveness update #80539
Conversation
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch, @kunalspathak Issue DetailsFollowing up 79182. When storing a variable means a spill, we are updating its liveness and setting the register to REG_STK. When the target is a register and not the stack, then we usually call genProduceReg which triggers the liveness update. This pr refactor similar code to avoid unintentional changes breaking either var home or var liveness and fix one case on arm 64 which was not considered (emitIns_S_R and emitIns_R_I don't update var home).
|
cc @dotnet/jit-contrib |
@kunalspathak are you able to take a look at this pr? All errors seem to be known issues. |
There is no difference on TP when using |
Can you merge |
Changes looks good to me. Once we get the superpmi numbers, we can go ahead and merge. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Following up 79182. When storing a variable means a spill, we are updating its liveness and setting the register to REG_STK. When the target is a register and not the stack, then we usually call genProduceReg which triggers the liveness update. This pr refactor similar code to avoid unintentional changes breaking either var home or var liveness and fix one case on arm 64 which was not considered (emitIns_S_R and emitIns_R_I don't update var home).